18. Obs│uga formularzy |
Jednym z postawowych zastosowa± JavaScript jest interakcja z u┐ytkownikiem za pomoc▒ formularzy. Skrypty wykorzystywane s▒ tutaj, aby sprawdzaµ poprawno╢µ wprowadzonych danych, wy╢wietlaµ dynamicznie jakie╢ informacje, tworzyµ proste gry (bez u┐ycia dHTML'a).
Je┐eli chcesz nauczyµ siΩ korzystaµ z formularzy z poziomu JavaScript powiniene╢ znaµ hierarchΩ obiekt≤w wystΩpuj▒cych w tym jΩzyku:
Je┐eli mia│e╢ ju┐ styczno╢µ z jakim╢ jΩzykiem programowania, to wiesz zapewne, ┐e obiekty s▒ to takie struktury danych, kt≤re maj▒ swoje w│a╢ciwo╢ci oraz metody. Aby wykonaµ metodΩ przypisan▒ danemu obiektowi, ustawiµ lub odczytaµ w│a╢ciwo╢µ, poprzedzamy je obiektem, a oddzielamy kropk▒:
obiekt.w│asno╢µ;
obiekt.metoda();
Wiecej dowiecie siΩ z lekcji 27.
Taki obiekt mo┐e byµ pojemnikiem dla innych obiekt≤w, to znaczy, ┐e jest w stosunku do nich nadrzΩdny i jedynie za pomoc▒ tego w│a╢nie obiektu mo┐na do nich dotrzeµ. Przyk│adowo obiekt Form jest obiektem nale┐▒cym do document. Grupy obiekt≤w, kt≤re nie posiadaj▒ w│asnych w│a╢ciwo╢ci ani metod s▒ czΩsto nazywane kolekcjami.
Chc▒c skorzystaµ z w│a╢ciwo╢ci value obiektu Text (pod t▒ zmienn▒ przechowywany jest tekst wy╢wietlany w obiekcie Input typu Text) piszemy:
document.nazwa_formy.nazwa_text.value = "Cze╢µ";
W miejsce nazwa_formy wstawiamy nazwΩ zadeklarowan▒ w znaczniku Form pod parametrem NAME. Analogicznie postΩpujemy z nazwa_text, np:
<SCRIPT LANGUAGE="JavaScript">
<!--
function zwieksz()
{
document.rachunek.procent.value++;
document.rachunek.procent.focus();
}
function zmniejsz()
{
document.rachunek.procent.value--;
document.rachunek.procent.focus();
}
//-->
</SCRIPT>
.. i w sekcji BODY:
<FORM NAME="rachunek">
<INPUT TYPE="text" NAME="procent" Value="7" SIZE="1"> %
<INPUT TYPE="button" Value="+" onClick="zwieksz()">
<INPUT TYPE="button" Value="-" onClick="zmniejsz()">
</FORM>
.. i w efekcie mamy:
Zaprezentowana tu metoda odwo│ywania siΩ do p≤l formularza nie jest jedyn▒ dostΩpn▒. Korzystaj▒c z naszego przyk│adu poka┐Ω jak mo┐na napisaµ to w inny spos≤b:
document.forms["rachunek"].procent.value;
document.rachunek.elements["procent"].value;
document.forms["rachunek"].elements["procent"].value;
Metoda korzystaj▒ca z tablic element≤w czasami jest wygodniejsza, poniewa┐ nie musimy siΩ odwo│ywaµ za pomoc▒ nazw danych p≤l, a jedynie podaµ index elementu, np.:
document.forms[1].elements[0]
W ten spos≤b mamy dostΩp do pierwszego elementu drugiego formularza.
Praktycznie t▒ drog▒ mo┐emy odwo│ywaµ siΩ do ka┐dego elementu formularza poza Select. Odwo│anie w tym wypadku wygl▒da nastΩpuj▒co:
document.rachunek.waluta.options[index]
W│a╢ciwo╢ci i metody wszystkich predefiniowanych obiekt≤w dostΩpne s▒ w dodatkach.
![]() ![]() ![]() |